package com.ktg.web.mainData;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;


import com.ktg.ktgcommon.domain.mainData.MdItem;
import com.ktg.ktgcommon.query.QueryMdItem;
import com.ktg.ktgcommon.result.R;
import com.ktg.service.MDItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api")
public class ProductManagerController {

    @Autowired
    private MDItemService mdItemService;

    @PostMapping("/MdItem/checkListMdItem")
    public R checkListMdItem(String itemCode, String itemName, String itemTypeName,
                             @RequestParam(defaultValue = "1") Integer pageNo,
                             @RequestParam(defaultValue = "5") Integer pageSize) {
        QueryMdItem queryMdItem = new QueryMdItem();
        queryMdItem.setItemCode(itemCode);
        queryMdItem.setItemName(itemName);
        queryMdItem.setItemTypeName(itemTypeName);

        System.out.println(queryMdItem);

        Page<MdItem> page = new Page<>(pageNo, pageSize);

        Page<MdItem> selectPage = mdItemService.selectPage(page, queryMdItem);

        System.out.println(selectPage);
        if (selectPage != null) {
            return R.OK(selectPage);
        }
        return R.FAIL();
    }

    //修改或新增方法
    @PostMapping("/MdItem/AddOrChMdItem")
    public R AddOrChMdItem(MdItem mdItem){
        Integer integer = mdItemService.addOrChMdItem(mdItem);
        return R.OK(integer);
    }
    //根据mdItemId删除指定数据
    @DeleteMapping("/MdItem/delMdItem/{mdItemId}")
    public R delMdItem(@PathVariable("mdItemId")Integer mdItemId){
        Integer delMdItem = mdItemService.delMdItem(mdItemId);
        return R.OK(delMdItem);
    }

    //根据id查询指定MdItem
    @PostMapping("/MdItem/CheckMdItemById/{mdItemId}")
    public R CheckMdItemById(@PathVariable("mdItemId")Integer mdItemId){
        MdItem mdItem = mdItemService.checkMdItemById(mdItemId);
        return R.OK(mdItem);
    }

    //根据传递进来的id数组批量删除
    @DeleteMapping("/MdItem/delMdItemArray")
    public R DelMdItemArray(@RequestBody List<Integer> arrayMdItemId){
        Integer integer = mdItemService.delListMdItemById(arrayMdItemId);
        return R.OK(integer);
    }
}
